home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / MacTech® Magazine / Volume 05 - 1989 / 05.01 Jan 89 / EvSimulator / demo.c next >
Encoding:
C/C++ Source or Header  |  1988-11-13  |  2.3 KB  |  102 lines  |  [TEXT/KAHL]

  1. /************
  2.  ** demo.c **
  3.  ************/
  4.  
  5. #include "demo.h"
  6.  
  7. /* psuedo-global data points */
  8.  
  9. int data1    [20] = { 119,119,128,128,137,146,146,155,155,119, 0 };
  10. int data2    [20] = { 115,187,187,151,169,151,187,187,115,115, 0 };
  11.  
  12. int data3    [20] = { 155,155,164,164,173,173,182,182,155, 0, 164,173, 0 };
  13. int data4    [20] = { 160,187,187,178,178,187,187,160,160, 0, 169,169, 0 };
  14.  
  15. int data5    [20] = { 182,182,209,209,191,191,209,209,182, 0 };
  16. int data6    [20] = { 160,187,187,178,178,169,169,160,160, 0 };
  17.  
  18. int data7    [20] = { 200,200,209,209,227,227,236,236,200, 0 };
  19. int data8    [20] = { 115,142,142,187,187,142,142,115,115, 0 };
  20.  
  21. int data9    [20] = { 227,227,254,254,245,245,236,236,227, 0 };
  22. int data10    [20] = { 160,187,187,160,160,178,178,160,160, 0 };
  23.  
  24. int data11    [20] = { 254,254,263,263,272,272,281,281,254, 0 };
  25. int data12    [20] = { 160,169,169,187,187,169,169,160,160, 0 };
  26.  
  27. int data13    [20] = { 281,281,308,308,281, 0, 290,290,299,299,290, 0 };
  28. int data14    [20] = { 160,187,187,160,160, 0, 169,178,178,169,169, 0 };
  29.  
  30. int data15    [20] = { 308,308,317,317,335,326,335,335,308, 0, 317,326, 0 };
  31. int data16    [20] = { 160,187,187,179,187,178,178,160,160, 0, 169,169, 0 };
  32.  
  33. /* main routine */
  34.  
  35. main() {
  36.  
  37. /* locals */
  38.  
  39. letter M, a, c, T, u, t, o, r;
  40. int h_index, v_index;
  41.  
  42. /* begin executable code */
  43.  
  44. /* access psuedo-globals */
  45. SetUpA4();
  46.  
  47. /* load structures */
  48.  
  49. M.h = data1;
  50. a.h = data3;
  51. c.h = data5;
  52. T.h = data7;
  53. u.h = data9;
  54. t.h = data11;
  55. o.h = data13;
  56. r.h = data15;
  57.  
  58. M.v = data2;
  59. a.v = data4;
  60. c.v = data6;
  61. T.v = data8;
  62. u.v = data10;
  63. t.v = data12;
  64. o.v = data14;
  65. r.v = data16;
  66.  
  67. /* select from pallette */
  68. MakeMouse(15,100);
  69.  
  70. /* draw letters */
  71. DrawLetter(M.h, M.v);
  72. DrawLetter(a.h, a.v); DrawLetter(&a.h[10], &a.v[10]);
  73. DrawLetter(c.h, c.v);
  74. DrawLetter(T.h, T.v);
  75. DrawLetter(u.h, u.v);
  76. DrawLetter(t.h, t.v);
  77. DrawLetter(o.h, o.v); DrawLetter(&o.h[6], &o.v[6]);
  78. DrawLetter(r.h, r.v); DrawLetter(&r.h[10], &r.v[10]);
  79.  
  80. /* deselect last line */
  81. MakeMouse(400, 250);
  82.  
  83. /* pop A4 */
  84. RestoreA4();
  85.  
  86. }
  87.  
  88. /* routine to draw letters */
  89.  
  90. DrawLetter ( hArray, vArray )
  91. int hArray[], vArray[];
  92. {
  93.  
  94. int h_index, v_index;
  95.  
  96. for (h_index=0,v_index=0; (hArray[h_index+1] != 0) 
  97.                                 ||(vArray[v_index+1] != 0) ; h_index++, v_index++) {
  98.     MMDmod(hArray[h_index], vArray[v_index], 0x0100);
  99.     MMUmod(hArray[h_index+1], vArray[v_index+1], 0x0100);
  100.     }
  101.     
  102. }